var base = readBaseCookie(); // 提取css等的基本uri路径
var nodeIdSeed=0, addingNode=false, currentNode;

// 定义树窗口
var treeWindow = new Ext.Window({
	id: 'treeWindow',
	resizable: true,
	collapsible: true,
	width: 300,
	height: 400,
	title: '地区管理',
	plain: true
});

// 定义树面板
var treePanel = new Ext.tree.TreePanel({
		id: 'areaTreePanel',
		draggable: false,
		rootVisible: true,
		lines: true,
		animate: true,
		autoScroll: true,
		enableDD: true,
		useArrows: true,
		autoHeight: true,
		autoWidth: true
});

// 定义树编辑器
var treeEditor = new Ext.tree.TreeEditor(treePanel,{
		blankText : '请输入名称',   
        selectOnFocus : true
});

treeEditor.on("complete", onNodeEdited, this, true);  


function onNodeEdited(o, newText, oldText) {   
    var node = o.editNode; 
    if(addingNode){
    	// 新添节点
    	
    }else{
    	// 修改节点
    }
}


//定义根节点
var rootNode = new Ext.tree.AsyncTreeNode({
	id: 'rootNode',
	text: '管理地区',
	draggable: false
});

//定义右键菜单   
var rightClickMenu = new Ext.menu.Menu({   
    id :'rightClickMenu',   
    items : [{   
        id:'editMenu',   
        text : '编辑',   
        icon: base+"/static/images/self/earth_edit.gif",
        handler:function (node){ 
    		//修改当前node类型为可编辑Node
    		editNode(node);
        }   
    }, {   
        id:'addSubMenu',   
        text : '添加子地区',
        icon: base+"/static/images/self/earth_add.gif",
        handler: function (node){
    		// 添加子地区
    		alert("insertNode");
    		insertChildNode(node);
    	}
    }, {   
        id:'removeMenu',   
        text : '删除地区',
        icon: base+"/static/images/self/earth_delete.gif",
        handler: function (node){
    		// 删除地区
    	}
    }]   
});  


//绑定TreePanel的右键菜单
treePanel.on('contextmenu',function(node,event){  
     event.preventDefault(); //这行是必须的
     node.select();
     rightClickMenu.showAt(event.getPoint());//取得鼠标点击坐标，展示菜单
     currentNode = node; // 设置当前的操作节点
});

//绑定节点的拖拽功能
treePanel.on('nodedrop', function(e){   
     if(e.point=='append'){   
    	//alert('当前"【'+e.dropNode.text+'】"被放到目录"【'+e.target.text+'】"下！');   
     } else if(e.point=='above'){   
	    //alert('当前"'+e.dropNode.text+'"放在了"'+e.target.text+'"上面！');   
	 }else if(e.point=='below'){   
	    //alert('当前"'+e.dropNode.text+'"放在了"'+e.target.text+'"下面！'); 
	 } 
});

treePanel.setRootNode(rootNode);
rootNode.expand(); // 页面显示对应对象

treeWindow.add(treePanel);
//mainPanel.add(treeWindow);
treeWindow.show();
treeWindow.expand(true);


function editNode(node) {
	if(currentNode != 'undefined' && currentNode != null && currentNode.id == 'rootNode'){
		Ext.Msg.alert('警告', '不能直接编辑根节点！');
	}else{
		// 直接替换当前节点的类型为editable文本框，并将相应数据填入，等待编辑
		// 编辑完后，完成相应的数据保存
		//treeEditor.startEdit(Ext.get(currentNodeId).el);
	}
}

function insertChildNode(node){
	// 添加相应Node
	// 调用editNode完成数据处理
	nodeIdSeed++;
	 var childNode = new Ext.tree.TreeNode({   
         text : '新地区',   
         id : nodeIdSeed,
         leaf: true,
         editable: true,
         cls: 'x-tree-node-leaf'
     }); 
	 currentNode.appendChild(childNode);   
	 currentNode.expand();   
	 childNode.select();   
     currentNode.lastChild.ensureVisible(); 
//     treeEditor.startEdit(childNode);
     treeEditor.triggerEdit(childNode);   
}

function removeChildNode(node){
	// 确认相应删除业务
	// 完成数据处理
}

treeEditor.on('complete', function(treeEditor){
	alert(treeEditor.editNode.text);
});